package com.ruoyi.erp.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 开票费用凭证对象 ledy_tax
 * 
 * @author ztj
 * @date 2023-07-05
 */
public class LedyTax extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** id */
    private Long id;
    @Excel(name = "序号")
    private String num;
    /** 发票代码 */
    @Excel(name = "发票代码")
    private String recordCode;

    /** 发票号码 */
    @Excel(name = "发票号码")
    private String recordNumber;
    @Excel(name = "数电票号码")
    private String numNumber;
    @Excel(name = "销方识别号")
    private String sellCode;
    @Excel(name = "销方名称")
    private String sellName;
    /** 购方税号 */
    @Excel(name = "购方识别号")
    private String buyCode;
    /** 购方企业名称 */
    @Excel(name = "购买方名称")
    private String buyName;
    /** 开票日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开票日期", width = 30, dateFormat = "yyyy/MM/dd hh:mm:ss")
    private Date invoiceDate;

    @Excel(name = "税收分类编码")
    private String taxNum;

    @Excel(name = "特定业务类型")
    private String spelType;
    /** 商品名称 */
    @Excel(name = "货物或应税劳务名称")
    private String goodsName;

    /** 规格 */
    @Excel(name = "规格型号")
    private String specifications;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 数量 */
    @Excel(name = "数量")
    private Long quantity;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal unitPrice;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal sumMoney;

    /** 税率 */
    @Excel(name = "税率")
    private BigDecimal taxRate;

    /** 税额 */
    @Excel(name = "税额")
    private BigDecimal taxAmount;

    @Excel(name = "价税合计")
    private BigDecimal taxPriceAmount;

    @Excel(name = "发票来源")
    private BigDecimal taxOrg;

    @Excel(name = "发票票种")
    private BigDecimal taxType;

    /** 发票状态 */
    @Excel(name = "发票状态")
    private String status;
    /** 银行账号 */
    @Excel(name = "银行账号")
    private String blankNumber;

    /** 地址电话 */
    @Excel(name = "地址电话")
    private String addressPhone;

    /** 单据号 */
    @Excel(name = "单据号")
    private String documentNumber;
    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    /** 收款状态 */
    @Excel(name = "收款状态")
    private String amountStatus;
    private Integer iflag;
    private String iNoId;
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date dbillDate;

    public String getNum() {
        return num;
    }

    public void setNum(String num) {
        this.num = num;
    }

    public String getNumNumber() {
        return numNumber;
    }

    public void setNumNumber(String numNumber) {
        this.numNumber = numNumber;
    }

    public String getSellCode() {
        return sellCode;
    }

    public void setSellCode(String sellCode) {
        this.sellCode = sellCode;
    }

    public String getSellName() {
        return sellName;
    }

    public void setSellName(String sellName) {
        this.sellName = sellName;
    }

    public String getTaxNum() {
        return taxNum;
    }

    public void setTaxNum(String taxNum) {
        this.taxNum = taxNum;
    }

    public String getSpelType() {
        return spelType;
    }

    public void setSpelType(String spelType) {
        this.spelType = spelType;
    }

    public BigDecimal getTaxPriceAmount() {
        return taxPriceAmount;
    }

    public void setTaxPriceAmount(BigDecimal taxPriceAmount) {
        this.taxPriceAmount = taxPriceAmount;
    }

    public BigDecimal getTaxOrg() {
        return taxOrg;
    }

    public void setTaxOrg(BigDecimal taxOrg) {
        this.taxOrg = taxOrg;
    }

    public BigDecimal getTaxType() {
        return taxType;
    }

    public void setTaxType(BigDecimal taxType) {
        this.taxType = taxType;
    }

    public Integer getIflag() {
        return iflag;
    }

    public void setIflag(Integer iflag) {
        this.iflag = iflag;
    }

    public String getiNoId() {
        return iNoId;
    }

    public void setiNoId(String iNoId) {
        this.iNoId = iNoId;
    }

    public Date getDbillDate() {
        return dbillDate;
    }

    public void setDbillDate(Date dbillDate) {
        this.dbillDate = dbillDate;
    }

    @Override
    public String getRemark() {
        return remark;
    }

    @Override
    public void setRemark(String remark) {
        this.remark = remark;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setRecordCode(String recordCode) 
    {
        this.recordCode = recordCode;
    }

    public String getRecordCode() 
    {
        return recordCode;
    }
    public void setRecordNumber(String recordNumber) 
    {
        this.recordNumber = recordNumber;
    }

    public String getRecordNumber() 
    {
        return recordNumber;
    }
    public void setBuyName(String buyName) 
    {
        this.buyName = buyName;
    }

    public String getBuyName() 
    {
        return buyName;
    }
    public void setBuyCode(String buyCode) 
    {
        this.buyCode = buyCode;
    }

    public String getBuyCode() 
    {
        return buyCode;
    }
    public void setBlankNumber(String blankNumber) 
    {
        this.blankNumber = blankNumber;
    }

    public String getBlankNumber() 
    {
        return blankNumber;
    }
    public void setAddressPhone(String addressPhone) 
    {
        this.addressPhone = addressPhone;
    }

    public String getAddressPhone() 
    {
        return addressPhone;
    }
    public void setInvoiceDate(Date invoiceDate) 
    {
        this.invoiceDate = invoiceDate;
    }

    public Date getInvoiceDate() 
    {
        return invoiceDate;
    }
    public void setDocumentNumber(String documentNumber) 
    {
        this.documentNumber = documentNumber;
    }

    public String getDocumentNumber() 
    {
        return documentNumber;
    }
    public void setGoodsName(String goodsName) 
    {
        this.goodsName = goodsName;
    }

    public String getGoodsName() 
    {
        return goodsName;
    }
    public void setSpecifications(String specifications) 
    {
        this.specifications = specifications;
    }

    public String getSpecifications() 
    {
        return specifications;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setQuantity(Long quantity) 
    {
        this.quantity = quantity;
    }

    public Long getQuantity() 
    {
        return quantity;
    }
    public void setUnitPrice(BigDecimal unitPrice) 
    {
        this.unitPrice = unitPrice;
    }

    public BigDecimal getUnitPrice() 
    {
        return unitPrice;
    }
    public void setSumMoney(BigDecimal sumMoney) 
    {
        this.sumMoney = sumMoney;
    }

    public BigDecimal getSumMoney() 
    {
        return sumMoney;
    }
    public void setTaxRate(BigDecimal taxRate) 
    {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxRate() 
    {
        return taxRate;
    }
    public void setTaxAmount(BigDecimal taxAmount) 
    {
        this.taxAmount = taxAmount;
    }

    public BigDecimal getTaxAmount() 
    {
        return taxAmount;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setAmountStatus(String amountStatus) 
    {
        this.amountStatus = amountStatus;
    }

    public String getAmountStatus() 
    {
        return amountStatus;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("recordCode", getRecordCode())
            .append("recordNumber", getRecordNumber())
            .append("buyName", getBuyName())
            .append("buyCode", getBuyCode())
            .append("blankNumber", getBlankNumber())
            .append("addressPhone", getAddressPhone())
            .append("invoiceDate", getInvoiceDate())
            .append("documentNumber", getDocumentNumber())
            .append("goodsName", getGoodsName())
            .append("specifications", getSpecifications())
            .append("unit", getUnit())
            .append("quantity", getQuantity())
            .append("unitPrice", getUnitPrice())
            .append("sumMoney", getSumMoney())
            .append("taxRate", getTaxRate())
            .append("taxAmount", getTaxAmount())
            .append("status", getStatus())
            .append("amountStatus", getAmountStatus())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
